package com.yunji.product.dao;

import com.yunji.common.base.IBaseDao;
import com.yunji.product.bo.ProductAgentListQueryBO;
import com.yunji.product.bo.ProductAgentSelectQueryBO;
import com.yunji.product.bo.ProductAgentUpdateBO;
import com.yunji.product.domain.ProductAgentDO;

import java.util.List;

public interface IProductAgentDao extends IBaseDao<ProductAgentDO> {
    boolean updateByBo(ProductAgentUpdateBO bo);

    List<ProductAgentDO> search(ProductAgentListQueryBO bo);

    ProductAgentDO select(ProductAgentSelectQueryBO bo);

    List<String> selectAgentIdByProductId(Long... ids);

    boolean deleteByManagerIds(Long... managerIds);

    boolean deleteByProductIds(Long[] ids);

    ProductAgentDO getCacheByBelong(Long belongId, Long productId);

    List<ProductAgentDO> getCacheByBelong(Long belongId, List<Long> productIds);
}
